package com.hanserwei.community.entity.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "物业收费记录展示对象")
public class PropertyFeeVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "记录ID")
    private Integer id;

    @Schema(description = "收费类型ID")
    private Integer typeId;

    @Schema(description = "收费类型名称")
    private String typeName;

    @Schema(description = "计费单价")
    private BigDecimal typePrice;

    @Schema(description = "计费单位")
    private String typeUnit;

    @Schema(description = "实收金额")
    private BigDecimal money;

    @Schema(description = "起始日期")
    private LocalDateTime startDate;

    @Schema(description = "截止日期")
    private LocalDateTime endDate;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "关联房屋ID")
    private Integer houseId;

    @Schema(description = "房屋信息")
    private HouseVO house;

    @Schema(description = "业主信息")
    private OwnerBriefVO owner;

    @Schema(description = "备注")
    private String remarks;
}
